home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
aminet
/
util
/
edit
/
jed207.lha
/
macros
/
stackwins
< prev
Wrap
Text File
|
1993-01-04
|
1KB
|
89 lines
; (c) 1992-3 J.Harper
; macro to stack windows
; (stackwins <dir> <type>)
; <dir> `x' or `y' (direction to stack in)
; <type> `a', `v' or `f' (what windows to stack)
; now ignores sleeping windows.
(macro `stackwins'
{
(local
`maxx' (info `screenx')
`maxy' (info `screeny')
`maxwin' @
`actwin' 0
`i' @
`type' (arg 2 `s' `type (a/v/f)> ')
)
(select
(== type `a')
{
(= `maxwin' (info `windows'))
}
(== type `v')
{
(= `maxwin' (info `views'))
}
(== type `f')
{
(= `maxwin' (info `files'))
}
{
(settitle (format `error: unknown type %s' type))
(return)
}
)
(= `i' 0)
(while {(!= i maxwin)}
{
(if (! (info `asleep'))
{
(= `actwin' (+ actwin 1))
})
(= `i' (+ i 1))
(nextwind type)
})
(if (== (arg 1 `s' `direction (x/y)> ') `y')
{
(local
`sizey' (/ maxy actwin)
`curry' 0
)
(= `i' 0)
(while {(!= i maxwin)}
{
(if (! (info `asleep'))
{
(position 0 curry maxx sizey)
(= `curry' (+ curry sizey))
})
(nextwind type)
(= `i' (+ i 1))
})
}
{
(local
`sizex' (/ maxx actwin)
`currx' 0
)
(= `i' 0)
(while {(!= i maxwin)}
{
(if (! (info `asleep'))
{
(position currx 0 sizex maxy)
(= `currx' (+ currx sizex))
})
(nextwind type)
(= `i' (+ i 1))
})
})
})